import './dialog.scss'

import { attachPropertiesToComponent } from '../../utils/attach-properties-to-component'
import { Dialog } from './dialog'
import { show } from './show'
import { alert } from './alert'
import { confirm } from './confirm'
import { clear } from './clear'

export type {
  Action,
  DialogProps,
  DialogAlertProps,
  DialogConfirmProps,
  DialogShowProps,
  DialogShowHandler,
} from './type'

/**
 * @description - support components and imperatively
 * @description Dialog not support `disableBodyScroll` props. default: `true`.
 */
export default attachPropertiesToComponent(Dialog, {
  alert,
  confirm,
  clear,
  show,
})
